/* 主题适配覆盖样式 - 用于替换硬编码的颜色值 */

/* 全局文本颜色适配 */
.theme-dark {
  /* 覆盖内联样式中的硬编码颜色 */
  em[style*="color:#333"] {
    color: var(--text-primary) !important;
  }
  
  em[style*="color: #333"] {
    color: var(--text-primary) !important;
  }
  
  /* 覆盖其他常见的硬编码颜色 */
  .text-gray-400 {
    color: var(--text-tertiary) !important;
  }
  
  .text-gray-500 {
    color: var(--text-secondary) !important;
  }
  
  /* 覆盖所有使用硬编码颜色的元素 */
  *[style*="color:#333"],
  *[style*="color: #333"] {
    color: var(--text-primary) !important;
  }
  
  *[style*="color:#666"],
  *[style*="color: #666"] {
    color: var(--text-secondary) !important;
  }
  
  *[style*="color:#999"],
  *[style*="color: #999"] {
    color: var(--text-tertiary) !important;
  }
  
  /* 增强文本对比度 - 排除菜单项，避免影响悬停效果 */
  p, span, div, h1, h2, h3, h4, h5, h6 {
    color: var(--text-primary) !important;
  }

  /* 取消对菜单项的 !important，让悬停效果正常工作 */
  .el-menu-item,
  .el-sub-menu__title {
    color: var(--text-primary);
  }

  /* 确保其他元素的文本对比度 */
  .el-card__body,
  .el-table th,
  .el-table td,
  .el-button,
  .el-tag,
  .el-input__inner,
  .el-textarea__inner {
    color: var(--text-primary) !important;
  }
  
  /* 次要文本使用稍暗但仍然清晰的颜色 */
  .el-descriptions__label,
  .el-form-item__label,
  .el-radio__label,
  .el-checkbox__label {
    color: var(--text-secondary) !important;
  }
  
  /* 占位符文本 */
  .el-input__inner::placeholder,
  .el-textarea__inner::placeholder {
    color: var(--text-tertiary) !important;
  }
}

/* 卡片背景适配 */
.theme-dark .el-card {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
}

.theme-dark .el-card:hover {
  background-color: var(--card-hover-bg) !important;
}

/* 菜单背景适配 */
.theme-dark .classification {
  background: var(--menu-bg) !important;
  box-shadow: var(--shadow-soft) !important;
}

.theme-dark .classification .el-sub-menu:hover {
  background-color: var(--menu-hover-bg) !important;
}

/* 用户信息区域适配 */
.theme-dark .user .not-login,
.theme-dark .user .logged {
  background: var(--card-bg) !important;
  box-shadow: var(--shadow-soft) !important;
}

/* 页面背景适配 */
.theme-dark .algo-page,
.theme-dark .category {
  background: var(--fill-color-light) !important;
}

.theme-dark .filters {
  background: var(--card-bg) !important;
}

.theme-dark .content-container {
  background: var(--card-bg) !important;
}

.theme-dark .user-center {
  background: var(--fill-color-light) !important;
}

.theme-dark .info-card {
  background-color: var(--fill-color) !important;
}

/* 更多页面适配 */
.theme-dark .course-page,
.theme-dark .ebook-page,
.theme-dark .knowledge-page,
.theme-dark .compass-page,
.theme-dark .setting-page {
  background: var(--fill-color-light) !important;
}

.theme-dark .article-page,
.theme-dark .article-list-page {
  background: var(--bg-color) !important;
}

/* 文本颜色适配 */
.theme-dark .filter-label {
  color: var(--text-primary) !important;
}

.theme-dark .card-title {
  color: var(--text-primary) !important;
}

.theme-dark .card-description {
  color: var(--text-secondary) !important;
}

.theme-dark .card-meta {
  color: var(--text-tertiary) !important;
}

.theme-dark .user-name {
  color: var(--text-primary) !important;
}

.theme-dark .slogan {
  color: var(--text-secondary) !important;
}

.theme-dark .section-title {
  color: var(--text-primary) !important;
}

.theme-dark .info-text {
  color: var(--text-secondary) !important;
}

/* 按钮和链接颜色适配 */
.theme-dark .el-button--primary {
  background-color: var(--accent-color) !important;
  border-color: var(--accent-color) !important;
}

.theme-dark .el-button--primary:hover {
  background-color: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}

/* 表格适配 - 完整版本 */
.theme-dark .el-table {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-soft) !important;
}

/* 表格头部 */
.theme-dark .el-table__header-wrapper {
  background-color: var(--fill-color) !important;
}

.theme-dark .el-table__header {
  background-color: var(--fill-color) !important;
}

.theme-dark .el-table th {
  background-color: var(--fill-color) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-soft) !important;
  font-weight: 500;
}

.theme-dark .el-table th.el-table__cell {
  background-color: var(--fill-color) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-soft) !important;
}

/* 表格主体 */
.theme-dark .el-table__body-wrapper {
  background-color: var(--card-bg) !important;
}

.theme-dark .el-table__body {
  background-color: var(--card-bg) !important;
}

.theme-dark .el-table td {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-soft) !important;
}

.theme-dark .el-table td.el-table__cell {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-soft) !important;
}

/* 表格行 */
.theme-dark .el-table tr {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-table tr:hover {
  background-color: var(--fill-color) !important;
}

.theme-dark .el-table tr:hover td {
  background-color: var(--fill-color) !important;
  color: var(--text-primary) !important;
}

/* 表格边框 */
.theme-dark .el-table--border {
  border-color: var(--border-soft) !important;
}

.theme-dark .el-table--border::after {
  background-color: var(--border-soft) !important;
}

.theme-dark .el-table--border::before {
  background-color: var(--border-soft) !important;
}

/* 表格滚动条 */
.theme-dark .el-table__body-wrapper::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.theme-dark .el-table__body-wrapper::-webkit-scrollbar-track {
  background: var(--fill-color);
}

.theme-dark .el-table__body-wrapper::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 4px;
}

.theme-dark .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--text-tertiary);
}

/* 表格固定列 */
.theme-dark .el-table__fixed {
  background-color: var(--card-bg) !important;
  box-shadow: 2px 0 6px rgba(0, 0, 0, 0.1);
}

.theme-dark .el-table__fixed-right {
  background-color: var(--card-bg) !important;
  box-shadow: -2px 0 6px rgba(0, 0, 0, 0.1);
}

/* 表格空状态 */
.theme-dark .el-table__empty-block {
  background-color: var(--card-bg) !important;
  color: var(--text-secondary) !important;
}

.theme-dark .el-table__empty-text {
  color: var(--text-secondary) !important;
}

/* 表格加载状态 */
.theme-dark .el-table__loading-mask {
  background-color: rgba(13, 17, 23, 0.8) !important;
}

/* 表格选择框 */
.theme-dark .el-table__selection {
  color: var(--text-primary) !important;
}

/* 表格展开行 */
.theme-dark .el-table__expand-icon {
  color: var(--text-primary) !important;
}

.theme-dark .el-table__expand-icon:hover {
  color: var(--accent-color) !important;
}

/* 表格排序图标 */
.theme-dark .el-table__sort-icon {
  color: var(--text-tertiary) !important;
}

.theme-dark .el-table__sort-icon:hover {
  color: var(--accent-color) !important;
}

/* 表格过滤 */
.theme-dark .el-table__filter {
  color: var(--text-primary) !important;
}

.theme-dark .el-table__filter:hover {
  color: var(--accent-color) !important;
}

/* 输入框适配 */
.theme-dark .el-input__inner {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-input__inner:focus {
  border-color: var(--accent-color) !important;
}

/* 分页器适配 - 完整版本 */
.theme-dark .el-pagination {
  color: var(--text-primary) !important;
  background-color: transparent !important;
}

/* 分页器总数显示 */
.theme-dark .el-pagination__total {
  color: var(--text-secondary) !important;
}

/* 分页器每页显示数量选择器 */
.theme-dark .el-pagination__sizes {
  color: var(--text-primary) !important;
}

.theme-dark .el-pagination__sizes .el-select {
  color: var(--text-primary) !important;
}

.theme-dark .el-pagination__sizes .el-select .el-input__inner {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-pagination__sizes .el-select .el-input__inner:hover {
  border-color: var(--accent-color) !important;
}

.theme-dark .el-pagination__sizes .el-select .el-input__inner:focus {
  border-color: var(--accent-color) !important;
  box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.2);
}

/* 分页器页码按钮 */
.theme-dark .el-pagination .el-pager li {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-soft) !important;
  border: 1px solid var(--border-soft) !important;
  margin: 0 2px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.theme-dark .el-pagination .el-pager li:hover {
  color: var(--accent-color) !important;
  background-color: var(--card-hover-bg) !important;
  border-color: var(--accent-color) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}

.theme-dark .el-pagination .el-pager li.is-active {
  background-color: var(--accent-color) !important;
  color: #fff !important;
  border-color: var(--accent-color) !important;
  font-weight: 500;
}

.theme-dark .el-pagination .el-pager li.is-active:hover {
  background-color: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
  color: #fff !important;
}

/* 分页器上一页/下一页按钮 */
.theme-dark .el-pagination .btn-prev,
.theme-dark .el-pagination .btn-next {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-soft) !important;
  border: 1px solid var(--border-soft) !important;
  margin: 0 2px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.theme-dark .el-pagination .btn-prev:hover,
.theme-dark .el-pagination .btn-next:hover {
  color: var(--accent-color) !important;
  background-color: var(--card-hover-bg) !important;
  border-color: var(--accent-color) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}

.theme-dark .el-pagination .btn-prev:disabled,
.theme-dark .el-pagination .btn-next:disabled {
  background-color: var(--fill-color) !important;
  color: var(--text-tertiary) !important;
  border-color: var(--border-soft) !important;
  cursor: not-allowed !important;
}

.theme-dark .el-pagination .btn-prev:disabled:hover,
.theme-dark .el-pagination .btn-next:disabled:hover {
  background-color: var(--fill-color) !important;
  color: var(--text-tertiary) !important;
  border-color: var(--border-soft) !important;
  transform: none;
  box-shadow: none;
}

/* 分页器跳转输入框 */
.theme-dark .el-pagination__jump {
  color: var(--text-primary) !important;
}

.theme-dark .el-pagination__jump .el-input__inner {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-primary) !important;
  width: 50px !important;
  text-align: center !important;
}

.theme-dark .el-pagination__jump .el-input__inner:hover {
  border-color: var(--accent-color) !important;
}

.theme-dark .el-pagination__jump .el-input__inner:focus {
  border-color: var(--accent-color) !important;
  box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.2);
}

/* 分页器背景模式 */
.theme-dark .el-pagination.is-background .el-pager li {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-soft) !important;
}

.theme-dark .el-pagination.is-background .el-pager li:hover {
  background-color: var(--card-hover-bg) !important;
  color: var(--accent-color) !important;
  border-color: var(--accent-color) !important;
}

.theme-dark .el-pagination.is-background .el-pager li.is-active {
  background-color: var(--accent-color) !important;
  color: #fff !important;
  border-color: var(--accent-color) !important;
}

.theme-dark .el-pagination.is-background .btn-prev,
.theme-dark .el-pagination.is-background .btn-next {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-soft) !important;
}

.theme-dark .el-pagination.is-background .btn-prev:hover,
.theme-dark .el-pagination.is-background .btn-next:hover {
  background-color: var(--card-hover-bg) !important;
  color: var(--accent-color) !important;
  border-color: var(--accent-color) !important;
}

/* 分页器小尺寸适配 */
.theme-dark .el-pagination--small .el-pager li {
  min-width: 24px !important;
  height: 24px !important;
  line-height: 24px !important;
  font-size: 12px !important;
}

.theme-dark .el-pagination--small .btn-prev,
.theme-dark .el-pagination--small .btn-next {
  min-width: 24px !important;
  height: 24px !important;
  line-height: 24px !important;
  font-size: 12px !important;
}

/* 分页器大尺寸适配 */
.theme-dark .el-pagination--large .el-pager li {
  min-width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  font-size: 16px !important;
}

.theme-dark .el-pagination--large .btn-prev,
.theme-dark .el-pagination--large .btn-next {
  min-width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  font-size: 16px !important;
}

/* 标签适配 */
.theme-dark .el-tag {
  background-color: var(--fill-color) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-primary) !important;
}

/* 弹出层适配 - 完整版本 */
.theme-dark .el-popover {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-primary) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-popover .el-popover__title {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-soft) !important;
}

.theme-dark .el-popover .el-popover__content {
  color: var(--text-secondary) !important;
}

/* 工具提示适配 */
.theme-dark .el-tooltip__popper {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-tooltip__popper .el-tooltip__arrow {
  border-color: var(--border-soft) !important;
}

.theme-dark .el-tooltip__popper[data-popper-placement^="top"] .el-tooltip__arrow::before {
  border-top-color: var(--card-bg) !important;
}

.theme-dark .el-tooltip__popper[data-popper-placement^="bottom"] .el-tooltip__arrow::before {
  border-bottom-color: var(--card-bg) !important;
}

.theme-dark .el-tooltip__popper[data-popper-placement^="left"] .el-tooltip__arrow::before {
  border-left-color: var(--card-bg) !important;
}

.theme-dark .el-tooltip__popper[data-popper-placement^="right"] .el-tooltip__arrow::before {
  border-right-color: var(--card-bg) !important;
}

/* 下拉菜单适配 - 修复白边问题 */
.theme-dark .el-dropdown-menu {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-soft) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
  outline: none !important;
  border-radius: 8px !important;
}

/* 覆盖所有可能产生白边的样式 */
.theme-dark .el-dropdown-menu::before,
.theme-dark .el-dropdown-menu::after {
  display: none !important;
}

.theme-dark .el-dropdown-menu * {
  border-color: var(--border-soft) !important;
}

/* 确保下拉菜单容器也没有白边 */
.theme-dark .el-popper.is-pure {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
  outline: none !important;
}

.theme-dark .el-popper.is-pure::before,
.theme-dark .el-popper.is-pure::after {
  display: none !important;
}

/* 覆盖 Element Plus 的默认边框样式 */
.theme-dark .el-dropdown-menu[data-popper-placement] {
  border: 1px solid var(--border-soft) !important;
  background-color: var(--card-bg) !important;
  outline: none !important;
}

/* 强制覆盖所有可能的边框样式 */
.theme-dark .el-dropdown-menu,
.theme-dark .el-dropdown-menu *,
.theme-dark .el-dropdown-menu::before,
.theme-dark .el-dropdown-menu::after {
  border-color: var(--border-soft) !important;
  outline: none !important;
  box-shadow: none !important;
}

.theme-dark .el-dropdown-menu__item {
  color: var(--text-primary) !important;
  background-color: transparent !important;
}

.theme-dark .el-dropdown-menu__item:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-dropdown-menu__item:focus {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-dropdown-menu__item.is-disabled {
  color: var(--text-tertiary) !important;
  background-color: transparent !important;
}

.theme-dark .el-dropdown-menu__item.is-disabled:hover {
  color: var(--text-tertiary) !important;
  background-color: transparent !important;
}

.theme-dark .el-dropdown-menu__item--divided {
  border-top-color: var(--border-soft) !important;
}

/* 选择器下拉框适配 */
.theme-dark .el-select-dropdown {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-select-dropdown .el-scrollbar__wrap {
  background-color: var(--card-bg) !important;
}

.theme-dark .el-select-dropdown .el-scrollbar__view {
  background-color: var(--card-bg) !important;
}

.theme-dark .el-option {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-option:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-option.is-selected {
  background-color: var(--accent-color) !important;
  color: #fff !important;
}

.theme-dark .el-option.is-disabled {
  color: var(--text-tertiary) !important;
  background-color: var(--card-bg) !important;
}

.theme-dark .el-option.is-disabled:hover {
  color: var(--text-tertiary) !important;
  background-color: var(--card-bg) !important;
}

.theme-dark .el-option-group__title {
  color: var(--text-secondary) !important;
  background-color: var(--fill-color) !important;
}

.theme-dark .el-option-group__wrap:not(:last-of-type) {
  border-bottom-color: var(--border-soft) !important;
}

/* Divider 组件适配 */
.theme-dark .el-divider {
  border-color: var(--border-soft) !important;
  background-color: var(--border-soft) !important;
  opacity: 1 !important;
}

.theme-dark .el-divider--horizontal {
  border-top-color: var(--border-soft) !important;
  border-top-width: 1px !important;
  border-top-style: solid !important;
}

.theme-dark .el-divider--vertical {
  border-left-color: var(--border-soft) !important;
  border-left-width: 1px !important;
  border-left-style: solid !important;
}

/* 确保分割线在暗色模式下可见 */
.theme-dark .el-divider::before,
.theme-dark .el-divider::after {
  background-color: var(--border-soft) !important;
  opacity: 1 !important;
}

.theme-dark .el-divider__text {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  font-weight: 500 !important;
}

.theme-dark .el-divider__text.is-left {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-divider__text.is-center {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-divider__text.is-right {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

/* Alert 组件适配 */
.theme-dark .el-alert {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-alert .el-alert__title {
  color: var(--text-primary) !important;
}

.theme-dark .el-alert .el-alert__content {
  color: var(--text-secondary) !important;
}

.theme-dark .el-alert .el-alert__icon {
  color: var(--accent-color) !important;
}

/* 不同类型的 alert 适配 */
.theme-dark .el-alert--success {
  background-color: var(--card-bg) !important;
  border-color: var(--success-color) !important;
}

.theme-dark .el-alert--warning {
  background-color: var(--card-bg) !important;
  border-color: var(--warning-color) !important;
}

.theme-dark .el-alert--error {
  background-color: var(--card-bg) !important;
  border-color: var(--danger-color) !important;
}

.theme-dark .el-alert--info {
  background-color: var(--card-bg) !important;
  border-color: var(--info-color) !important;
}

/* 主菜单适配 - 确保没有边框 */
.theme-dark .el-menu {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.theme-dark .el-menu-item {
  background-color: transparent !important;
  border: none !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-sub-menu {
  background-color: transparent !important;
  border: none !important;
}

.theme-dark .el-sub-menu__title {
  background-color: transparent !important;
  border: none !important;
  color: var(--text-primary) !important;
}

/* 菜单弹出层适配 - 修复亮色模式下二级菜单悬浮背景色 */
.el-menu--popup {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
  border-radius: 12px !important;
  padding: 8px 0 !important;
}

.el-menu--popup .el-menu-item {
  background-color: transparent !important;
  color: var(--text-primary) !important;
  margin: 0 8px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.el-menu--popup .el-menu-item:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.el-menu--popup .el-menu-item.is-active {
  background-color: var(--accent-color) !important;
  color: #fff !important;
}

.el-menu--popup .el-sub-menu__title {
  background-color: transparent !important;
  color: var(--text-primary) !important;
  margin: 0 8px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.el-menu--popup .el-sub-menu__title:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-menu--popup {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
  border-radius: 12px !important;
  padding: 8px 0 !important;
}

.theme-dark .el-menu--popup .el-menu-item:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-menu--popup .el-sub-menu__title:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

/* 级联选择器适配 */
.theme-dark .el-cascader-panel {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
}

.theme-dark .el-cascader-menu {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
}

.theme-dark .el-cascader-menu__item {
  color: var(--text-primary) !important;
  background-color: transparent !important;
}

.theme-dark .el-cascader-menu__item:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-cascader-menu__item.is-active {
  background-color: var(--accent-color) !important;
  color: #fff !important;
}

/* 日期选择器适配 */
.theme-dark .el-picker-panel {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-date-picker__header {
  background-color: var(--card-bg) !important;
  border-bottom-color: var(--border-soft) !important;
}

.theme-dark .el-date-picker__header-label {
  color: var(--text-primary) !important;
}

.theme-dark .el-date-picker__header-label:hover {
  color: var(--accent-color) !important;
}

.theme-dark .el-picker-panel__content {
  background-color: var(--card-bg) !important;
}

.theme-dark .el-date-table th {
  color: var(--text-secondary) !important;
  background-color: var(--fill-color) !important;
}

.theme-dark .el-date-table td {
  color: var(--text-primary) !important;
  background-color: var(--card-bg) !important;
}

.theme-dark .el-date-table td:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-date-table td.current {
  background-color: var(--accent-color) !important;
  color: #fff !important;
}

.theme-dark .el-date-table td.today {
  color: var(--accent-color) !important;
}

/* 时间选择器适配 */
.theme-dark .el-time-panel {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-time-panel__content {
  background-color: var(--card-bg) !important;
}

.theme-dark .el-time-spinner__item {
  color: var(--text-primary) !important;
}

.theme-dark .el-time-spinner__item:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-time-spinner__item.active {
  background-color: var(--accent-color) !important;
  color: #fff !important;
}

/* 颜色选择器适配 */
.theme-dark .el-color-picker__panel {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-color-picker__trigger {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
}

/* 消息框适配 */
.theme-dark .el-message-box {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-message-box__title {
  color: var(--text-primary) !important;
}

.theme-dark .el-message-box__content {
  color: var(--text-secondary) !important;
}

.theme-dark .el-message-box__header {
  border-bottom-color: var(--border-soft) !important;
}

.theme-dark .el-message-box__btns {
  border-top-color: var(--border-soft) !important;
}

/* 对话框适配 */
.theme-dark .el-dialog {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-dialog__header {
  background-color: var(--card-bg) !important;
  border-bottom-color: var(--border-soft) !important;
}

.theme-dark .el-dialog__title {
  color: var(--text-primary) !important;
}

.theme-dark .el-dialog__body {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-dialog__footer {
  background-color: var(--card-bg) !important;
  border-top-color: var(--border-soft) !important;
}

/* 抽屉适配 */
.theme-dark .el-drawer {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
}

.theme-dark .el-drawer__header {
  background-color: var(--card-bg) !important;
  border-bottom-color: var(--border-soft) !important;
  color: var(--text-primary) !important;
}

.theme-dark .el-drawer__body {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

/* 通知适配 */
.theme-dark .el-notification {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  box-shadow: var(--shadow-medium) !important;
}

.theme-dark .el-notification__title {
  color: var(--text-primary) !important;
}

.theme-dark .el-notification__content {
  color: var(--text-secondary) !important;
}

/* 加载适配 */
.theme-dark .el-loading-mask {
  background-color: rgba(13, 17, 23, 0.8) !important;
}

.theme-dark .el-loading-spinner {
  color: var(--accent-color) !important;
}

.theme-dark .el-loading-text {
  color: var(--text-primary) !important;
}

/* 开关组件适配 */
.theme-dark .el-switch {
  --el-switch-on-color: var(--accent-color);
  --el-switch-off-color: var(--border-soft);
  --el-switch-border-color: var(--border-soft);
}

.theme-dark .el-switch .el-switch__core {
  background-color: var(--card-bg) !important;
  border-color: var(--border-soft) !important;
  transition: all 0.3s ease !important;
}

.theme-dark .el-switch .el-switch__core:hover {
  border-color: var(--accent-color) !important;
}

.theme-dark .el-switch .el-switch__action {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
  transition: all 0.3s ease !important;
}

.theme-dark .el-switch .el-switch__action:hover {
  color: var(--accent-color) !important;
}

.theme-dark .el-switch.is-checked .el-switch__core {
  background-color: var(--accent-color) !important;
  border-color: var(--accent-color) !important;
}

.theme-dark .el-switch.is-checked .el-switch__action {
  background-color: #fff !important;
  color: var(--accent-color) !important;
}

/* 滚动条适配 */
.theme-dark ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.theme-dark ::-webkit-scrollbar-track {
  background: var(--fill-color);
}

.theme-dark ::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 4px;
}

.theme-dark ::-webkit-scrollbar-thumb:hover {
  background: var(--text-tertiary);
}

/* 特殊组件适配 */
.theme-dark .markdown-body {
  color: var(--text-primary) !important;
}

.theme-dark .loading {
  color: var(--text-secondary) !important;
}

.theme-dark .finished {
  color: var(--text-tertiary) !important;
}

/* 增强特定页面的文本可读性 */
.theme-dark .filter-label,
.theme-dark .card-title,
.theme-dark .user-name,
.theme-dark .section-title {
  color: var(--text-primary) !important;
  font-weight: 500;
}

.theme-dark .card-description,
.theme-dark .card-meta,
.theme-dark .slogan,
.theme-dark .info-text {
  color: var(--text-secondary) !important;
}

/* 确保链接和按钮文本清晰可见 */
.theme-dark a {
  color: var(--accent-color) !important;
}

.theme-dark a:hover {
  color: var(--accent-hover) !important;
}

.theme-dark .el-button--primary {
  color: #ffffff !important;
}

.theme-dark .el-button:not(.el-button--primary) {
  color: var(--text-primary) !important;
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

.theme-dark .el-button:hover {
  background-color: var(--card-hover-bg) !important;
  border-color: var(--accent-color) !important;
  color: var(--text-primary) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-medium);
}

/* 菜单项 hover 效果 */
.theme-dark .el-menu-item:hover {
  background-color: var(--menu-hover-bg) !important;
  color: var(--accent-color) !important;
}

.theme-dark .el-sub-menu__title:hover {
  background-color: var(--menu-hover-bg) !important;
  color: var(--accent-color) !important;
}

/* 卡片 hover 效果 */
.theme-dark .el-card:hover {
  background-color: var(--card-hover-bg) !important;
  border-color: var(--border-color) !important;
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

/* 表格行 hover 效果 */
.theme-dark .el-table tr:hover {
  background-color: var(--fill-color) !important;
}

.theme-dark .el-table tr:hover td {
  background-color: var(--fill-color) !important;
  color: var(--text-primary) !important;
}

/* 输入框 hover 和 focus 效果 */
.theme-dark .el-input__inner:hover {
  border-color: var(--accent-color) !important;
  background-color: var(--card-hover-bg) !important;
}

.theme-dark .el-input__inner:focus {
  border-color: var(--accent-color) !important;
  background-color: var(--card-bg) !important;
  box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.2);
}

/* 标签 hover 效果 */
.theme-dark .el-tag:hover {
  background-color: var(--fill-color) !important;
  border-color: var(--accent-color) !important;
  color: var(--text-primary) !important;
}

/* 链接 hover 效果 */
.theme-dark a:hover {
  color: var(--accent-hover) !important;
  text-decoration: underline;
}

/* 分页器 hover 效果 */
.theme-dark .el-pagination .el-pager li:hover {
  color: var(--accent-color) !important;
  background-color: var(--card-hover-bg) !important;
}

.theme-dark .el-pagination .btn-prev:hover,
.theme-dark .el-pagination .btn-next:hover {
  color: var(--accent-color) !important;
  background-color: var(--card-hover-bg) !important;
}

/* 弹出层 hover 效果 */
.theme-dark .el-popover:hover {
  background-color: var(--card-hover-bg) !important;
  border-color: var(--border-color) !important;
}

/* 工具提示 hover 效果 */
.theme-dark .el-tooltip__popper:hover {
  background-color: var(--card-hover-bg) !important;
}

/* 自定义组件 hover 效果 */
.theme-dark .filter-btn:hover {
  background-color: rgba(255, 107, 0, 0.1) !important;
  color: var(--accent-color) !important;
  transform: translateY(-1px);
}

.theme-dark .active-btn:hover {
  background-color: rgba(255, 107, 0, 0.15) !important;
  color: var(--accent-color) !important;
}

.theme-dark .scrollbar-item:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

/* 用户头像 hover 效果 */
.theme-dark .user-avatar:hover {
  transform: scale(1.05);
  border-color: var(--accent-color) !important;
}

/* 分类菜单 hover 效果 - 修复亮色和暗色模式下的背景色 */
.classification .el-sub-menu:hover,
.classification .el-sub-menu__title:hover {
  background-color: var(--menu-hover-bg) !important;
}

.theme-dark .classification .el-sub-menu:hover,
.theme-dark .classification .el-sub-menu__title:hover {
  background-color: var(--menu-hover-bg) !important;
}

.theme-dark .classification .el-sub-menu:hover .el-sub-menu__title {
  color: var(--accent-color) !important;
}

.theme-dark .classification .el-sub-menu:hover .el-sub-menu__icon-arrow {
  color: var(--accent-color) !important;
}

/* 卡片操作按钮 hover 效果 */
.theme-dark .card-actions .el-button:hover {
  background-color: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

/* 登录按钮 hover 效果 */
.theme-dark .login-btn:hover {
  background-color: var(--accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

/* 更多按钮 hover 效果 */
.theme-dark .more-btn:hover {
  background-color: var(--card-hover-bg) !important;
  color: var(--accent-color) !important;
}

/* 图标按钮 hover 效果 */
.theme-dark .icon-btn:hover {
  background-color: var(--card-hover-bg) !important;
  color: var(--accent-color) !important;
  transform: scale(1.1);
}

/* 列表项 hover 效果 */
.theme-dark .list-item:hover {
  background-color: var(--fill-color) !important;
  border-color: var(--border-color) !important;
}

/* 描述项 hover 效果 */
.theme-dark .el-descriptions-item:hover {
  background-color: var(--fill-color) !important;
}

/* 表单项 hover 效果 */
.theme-dark .el-form-item:hover {
  background-color: var(--fill-color) !important;
}

/* 选择器 hover 效果 */
.theme-dark .el-select:hover .el-input__inner {
  border-color: var(--accent-color) !important;
}

.theme-dark .el-option:hover {
  background-color: var(--fill-color) !important;
  color: var(--accent-color) !important;
}

/* 通用样式覆盖 */
.theme-dark {
  /* 覆盖所有硬编码的背景色 */
  *[style*="background:#fff"],
  *[style*="background: #fff"],
  *[style*="background:#ffffff"],
  *[style*="background: #ffffff"] {
    background-color: var(--card-bg) !important;
  }
  
  *[style*="background:#f5f7fa"],
  *[style*="background: #f5f7fa"] {
    background-color: var(--fill-color-light) !important;
  }
  
  *[style*="background:#f8f9fa"],
  *[style*="background: #f8f9fa"] {
    background-color: var(--fill-color) !important;
  }
  
  /* 覆盖所有硬编码的边框色 */
  *[style*="border-color:#eee"],
  *[style*="border-color: #eee"] {
    border-color: var(--border-soft) !important;
  }
  
  /* 覆盖所有硬编码的阴影 */
  *[style*="box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05)"],
  *[style*="box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08)"] {
    box-shadow: var(--shadow-soft) !important;
  }
}

/* 响应式适配 */
@media (max-width: 768px) {
  .theme-dark .classification {
    width: 100% !important;
  }
}
